package br.com.werp.regras.tesouraria.visao.decorador;

import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.util.FormatDate;
import br.com.werp.regras.geral.util.Html;
import br.com.werp.regras.geral.util.Util;
import br.com.werp.regras.geral.vos.documento.DocumentoImpostoVO;
import br.com.werp.regras.geral.vos.documento.DocumentoVencimentoVO;
import br.com.werp.regras.geral.vos.tesouraria.ImpostoVO;

import org.displaytag.decorator.TableDecorator;


/**
 * @author Sobreira
 * Criado em 18/11/2004
 *
 */
public class Impostos extends TableDecorator {
    public String getCustomizado() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Html.center("<input type=\"checkbox\" name=\"impostos\" " +
            (impostoVO.isCustomizado() ? " checked " : "") +
            "Class=\"baseField\" value=\"" + impostoVO.getImpt_id() + "\">");
    }

    public String getValor() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Util.formatNumberReal(impostoVO.getValor());
    }

    public String getImcl_aliquota() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return impostoVO.getImcl_aliquota() + "%";
    }

    public String getImcl_faixa_inicial() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Util.formatNumberReal(impostoVO.getImcl_faixa_inicial());
    }

    public String getImcl_faixa_final() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Util.formatNumberReal(impostoVO.getImcl_faixa_final());
    }

    public String getBaseCalculo() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Html.center(Html.inputType("text", 10, 30, "baseCalculo",
                impostoVO.getImpt_id(), "baseField",
                Util.formatNumberReal(impostoVO.getBaseCalculo())));
    }

    public String getImcl_parcela_deduzir() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();

        return Util.formatNumberReal(impostoVO.getImcl_parcela_deduzir());
    }

    public String getVencimento() {
        ImpostoVO impostoVO = (ImpostoVO) getCurrentRowObject();
        DocumentoImpostoVO documentoImpostoVO = impostoVO.getDocumentoImpostoVO();
        DocumentoVencimentoVO documentoVencimentoVO = null;

        if (documentoImpostoVO != null) {
            documentoVencimentoVO = documentoImpostoVO.getDocumentoVencimentoVO();
        }

        String retorno = "";

        if ((documentoVencimentoVO != null) &&
                (documentoVencimentoVO.getDcve_data() != null)) {
            retorno = FormatDate.format(documentoVencimentoVO.getDcve_data(),
                    Constantes.DATA_FORMATO);
        } else {
            retorno = "A processar";
        }

        String docmImp = ((documentoImpostoVO != null)
            ? ("" + documentoImpostoVO.getDocm_id()) : "Novo");
        String docmVenc = ((documentoVencimentoVO != null)
            ? ("" + documentoVencimentoVO.getDocm_id()) : "Novo");
        return retorno;
//        return retorno + " Docm_id Imposto = " + docmImp + " Docm_id Venc = " +
//        docmVenc;
    }
}
